package org.kepler.chat.api.entity;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.bigdata.frame.annotation.WhereSQL;
import org.bigdata.frame.entity.BaseEntity;

import javax.persistence.Id;
import javax.persistence.Table;

/**
 * TODO 在此加入类描述
 * @copyright {@link 9iu.org}
 * @author springrain<Auto generate>
 * @version  2019-03-21 23:57:08
 * @see User
 */
@Table(name="user")
public class User extends BaseEntity {
	
	private static final long serialVersionUID = 1L;

	//alias
	/*
	public static final String TABLE_ALIAS = "User";
	public static final String ALIAS_CREATE_DATE = "create_date";
	public static final String ALIAS_UPDATE_DATE = "update_date";
	public static final String ALIAS_ID = "id";
	public static final String ALIAS_ORGID = "所属组织机构(总部或分公司)ID";
	public static final String ALIAS_ORG_PATH = "组织机构层级路径";
	public static final String ALIAS_ORG_LEVEL = "所属级别编号";
	public static final String ALIAS_ROLEID = "所属角色ID";
	public static final String ALIAS_LOGIN_NAME = "login_name";
	public static final String ALIAS_PASSWORD = "password";
	public static final String ALIAS_USER_NO = "user_no";
	public static final String ALIAS_NAME = "name";
	public static final String ALIAS_EMAIL = "email";
	public static final String ALIAS_PHONE = "phone";
	public static final String ALIAS_MOBILE = "mobile";
	public static final String ALIAS_USER_TYPE = "user_type";
	public static final String ALIAS_PHOTO = "photo";
	public static final String ALIAS_LOGIN_IP = "login_ip";
	public static final String ALIAS_LOGIN_DATE = "login_date";
	public static final String ALIAS_LOGIN_FLAG = "login_flag";
	public static final String ALIAS_CREATE_BY = "create_by";
	public static final String ALIAS_UPDATE_BY = "update_by";
	public static final String ALIAS_REMARKS = "remarks";
	public static final String ALIAS_DEL_FLAG = "del_flag";
	public static final String ALIAS_ATTACH = "附件";
	public static final String ALIAS_ID_NUM = "身份证号";
	public static final String ALIAS_CARD_NO = "银行卡号";
	public static final String ALIAS_BANK_NAME = "开户行";
	public static final String ALIAS_RECOMMEND_NAME = "推荐人";
	public static final String ALIAS_GENDER = "性别";
	public static final String ALIAS_TEAM_LEADER = "小组长";
	public static final String ALIAS_NATIVE_PLACE = "籍贯";
	public static final String ALIAS_HOUSEHOLD = "户籍";
	public static final String ALIAS_ADDRESS = "住址";
	public static final String ALIAS_QQ = "QQ";
	public static final String ALIAS_WECHAT = "微信";
	public static final String ALIAS_SHORT_NUM = "短号";
	public static final String ALIAS_GRADUATE_SCHOOL = "毕业院校";
	public static final String ALIAS_EDUCATION_BACKGROUND = "学历";
	public static final String ALIAS_PROFESSION = "专业";
	public static final String ALIAS_BEFORE_COMPANY = "前一单位";
	public static final String ALIAS_SPECIALTY = "特长";
	public static final String ALIAS_EMERGENCY_CONTACT = "紧急联系人";
	public static final String ALIAS_EMERGENCY_RELATIONSHIP = "紧急联系人关系";
	public static final String ALIAS_EMERGENCY_PHONE = "紧急联系人电话";
	public static final String ALIAS_SECURITY_NO = "社保号";
	public static final String ALIAS_STATE = "状态";
	public static final String ALIAS_ENTRY_DATE = "入职日期";
	public static final String ALIAS_LEAVE_DATE = "离职日期";
	public static final String ALIAS_COMFIRM_DATE = "转正日期";
    */
	//date formats
	//public static final String FORMAT_CREATE_DATE = DateUtils.DATETIME_FORMAT;
	//public static final String FORMAT_UPDATE_DATE = DateUtils.DATETIME_FORMAT;
	//public static final String FORMAT_LOGIN_DATE = DateUtils.DATETIME_FORMAT;
	//public static final String FORMAT_ENTRY_DATE = DateUtils.DATETIME_FORMAT;
	//public static final String FORMAT_LEAVE_DATE = DateUtils.DATETIME_FORMAT;
	//public static final String FORMAT_COMFIRM_DATE = DateUtils.DATETIME_FORMAT;
	
	//columns START
	/**
	 * create_date
	 */
	private java.util.Date create_date;
	/**
	 * update_date
	 */
	private java.util.Date update_date;
	/**
	 * id
	 */
	private Integer id;
	/**
	 * 所属组织机构(总部或分公司)ID
	 */
	private Integer orgid;
	/**
	 * 组织机构层级路径
	 */
	private String org_path;
	/**
	 * 所属级别编号
	 */
	private Integer org_level;
	/**
	 * 所属角色ID
	 */
	private Integer roleid;
	/**
	 * login_name
	 */
	private String login_name;
	/**
	 * password
	 */
	private String password;
	/**
	 * user_no
	 */
	private String user_no;
	/**
	 * name
	 */
	private String name;
	/**
	 * email
	 */
	private String email;
	/**
	 * phone
	 */
	private String phone;
	/**
	 * mobile
	 */
	private String mobile;
	/**
	 * user_type
	 */
	private String user_type;
	/**
	 * photo
	 */
	private String photo;
	/**
	 * login_ip
	 */
	private String login_ip;
	/**
	 * login_date
	 */
	private java.util.Date login_date;
	/**
	 * login_flag
	 */
	private String login_flag;
	/**
	 * create_by
	 */
	private String create_by;
	/**
	 * update_by
	 */
	private String update_by;
	/**
	 * remarks
	 */
	private String remarks;
	/**
	 * del_flag
	 */
	private String del_flag;
	/**
	 * 附件
	 */
	private String attach;
	/**
	 * 身份证号
	 */
	private String id_num;
	/**
	 * 银行卡号
	 */
	private String card_no;
	/**
	 * 开户行
	 */
	private String bank_name;
	/**
	 * 推荐人
	 */
	private String recommend_name;
	/**
	 * 性别
	 */
	private Integer gender;
	/**
	 * 小组长
	 */
	private Integer team_leader;
	/**
	 * 籍贯
	 */
	private String native_place;
	/**
	 * 户籍
	 */
	private String household;
	/**
	 * 住址
	 */
	private String address;
	/**
	 * QQ
	 */
	private String qQ;
	/**
	 * 微信
	 */
	private String wechat;
	/**
	 * 短号
	 */
	private String short_num;
	/**
	 * 毕业院校
	 */
	private String graduate_school;
	/**
	 * 学历
	 */
	private String education_background;
	/**
	 * 专业
	 */
	private String profession;
	/**
	 * 前一单位
	 */
	private String before_company;
	/**
	 * 特长
	 */
	private String specialty;
	/**
	 * 紧急联系人
	 */
	private String emergency_contact;
	/**
	 * 紧急联系人关系
	 */
	private String emergency_relationship;
	/**
	 * 紧急联系人电话
	 */
	private String emergency_phone;
	/**
	 * 社保号
	 */
	private String security_no;
	/**
	 * 状态
	 */
	private Integer state;
	/**
	 * 入职日期
	 */
	private java.util.Date entry_date;
	/**
	 * 离职日期
	 */
	private java.util.Date leave_date;
	/**
	 * 转正日期
	 */
	private java.util.Date comfirm_date;
	//columns END 数据库字段结束
	
	//concstructor

	public User(){
	}

	public User(
		Integer id
	){
		this.id = id;
	}

	//get and set
		/*
	public String getcreate_dateString() {
		return DateUtils.convertDate2String(FORMAT_CREATE_DATE, getcreate_date());
	}
	public void setcreate_dateString(String value) throws ParseException{
		setcreate_date(DateUtils.convertString2Date(FORMAT_CREATE_DATE,value));
	}*/
	
	public void setCreate_date(java.util.Date value) {
		this.create_date = value;
	}
	
     @WhereSQL(sql="create_date=:User_create_date")
	public java.util.Date getCreate_date() {
		return this.create_date;
	}
		/*
	public String getupdate_dateString() {
		return DateUtils.convertDate2String(FORMAT_UPDATE_DATE, getupdate_date());
	}
	public void setupdate_dateString(String value) throws ParseException{
		setupdate_date(DateUtils.convertString2Date(FORMAT_UPDATE_DATE,value));
	}*/
	
	public void setUpdate_date(java.util.Date value) {
		this.update_date = value;
	}
	
     @WhereSQL(sql="update_date=:User_update_date")
	public java.util.Date getUpdate_date() {
		return this.update_date;
	}
	public void setId(Integer value) {
		this.id = value;
	}
	
	@Id
     @WhereSQL(sql="id=:User_id")
	public Integer getId() {
		return this.id;
	}
	public void setOrgid(Integer value) {
		this.orgid = value;
	}
	
     @WhereSQL(sql="orgid=:User_orgid")
	public Integer getOrgid() {
		return this.orgid;
	}
	public void setOrg_path(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.org_path = value;
	}
	
     @WhereSQL(sql="org_path=:User_org_path")
	public String getOrg_path() {
		return this.org_path;
	}
	public void setOrg_level(Integer value) {
		this.org_level = value;
	}
	
     @WhereSQL(sql="org_level=:User_org_level")
	public Integer getOrg_level() {
		return this.org_level;
	}
	public void setRoleid(Integer value) {
		this.roleid = value;
	}
	
     @WhereSQL(sql="roleid=:User_roleid")
	public Integer getRoleid() {
		return this.roleid;
	}
	public void setLogin_name(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.login_name = value;
	}
	
     @WhereSQL(sql="login_name=:User_login_name")
	public String getLogin_name() {
		return this.login_name;
	}
	public void setPassword(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.password = value;
	}
	
     @WhereSQL(sql="password=:User_password")
	public String getPassword() {
		return this.password;
	}
	public void setUser_no(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.user_no = value;
	}
	
     @WhereSQL(sql="user_no=:User_user_no")
	public String getUser_no() {
		return this.user_no;
	}
	public void setName(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.name = value;
	}
	
     @WhereSQL(sql="name=:User_name")
	public String getName() {
		return this.name;
	}
	public void setEmail(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.email = value;
	}
	
     @WhereSQL(sql="email=:User_email")
	public String getEmail() {
		return this.email;
	}
	public void setPhone(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.phone = value;
	}
	
     @WhereSQL(sql="phone=:User_phone")
	public String getPhone() {
		return this.phone;
	}
	public void setMobile(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.mobile = value;
	}
	
     @WhereSQL(sql="mobile=:User_mobile")
	public String getMobile() {
		return this.mobile;
	}
	public void setUser_type(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.user_type = value;
	}
	
     @WhereSQL(sql="user_type=:User_user_type")
	public String getUser_type() {
		return this.user_type;
	}
	public void setPhoto(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.photo = value;
	}
	
     @WhereSQL(sql="photo=:User_photo")
	public String getPhoto() {
		return this.photo;
	}
	public void setLogin_ip(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.login_ip = value;
	}
	
     @WhereSQL(sql="login_ip=:User_login_ip")
	public String getLogin_ip() {
		return this.login_ip;
	}
		/*
	public String getlogin_dateString() {
		return DateUtils.convertDate2String(FORMAT_LOGIN_DATE, getlogin_date());
	}
	public void setlogin_dateString(String value) throws ParseException{
		setlogin_date(DateUtils.convertString2Date(FORMAT_LOGIN_DATE,value));
	}*/
	
	public void setLogin_date(java.util.Date value) {
		this.login_date = value;
	}
	
     @WhereSQL(sql="login_date=:User_login_date")
	public java.util.Date getLogin_date() {
		return this.login_date;
	}
	public void setLogin_flag(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.login_flag = value;
	}
	
     @WhereSQL(sql="login_flag=:User_login_flag")
	public String getLogin_flag() {
		return this.login_flag;
	}
	public void setCreate_by(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.create_by = value;
	}
	
     @WhereSQL(sql="create_by=:User_create_by")
	public String getCreate_by() {
		return this.create_by;
	}
	public void setUpdate_by(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.update_by = value;
	}
	
     @WhereSQL(sql="update_by=:User_update_by")
	public String getUpdate_by() {
		return this.update_by;
	}
	public void setRemarks(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.remarks = value;
	}
	
     @WhereSQL(sql="remarks=:User_remarks")
	public String getRemarks() {
		return this.remarks;
	}
	public void setDel_flag(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.del_flag = value;
	}
	
     @WhereSQL(sql="del_flag=:User_del_flag")
	public String getDel_flag() {
		return this.del_flag;
	}
	public void setAttach(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.attach = value;
	}
	
     @WhereSQL(sql="attach=:User_attach")
	public String getAttach() {
		return this.attach;
	}
	public void setId_num(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.id_num = value;
	}
	
     @WhereSQL(sql="id_num=:User_id_num")
	public String getId_num() {
		return this.id_num;
	}
	public void setCard_no(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.card_no = value;
	}
	
     @WhereSQL(sql="card_no=:User_card_no")
	public String getCard_no() {
		return this.card_no;
	}
	public void setBank_name(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.bank_name = value;
	}
	
     @WhereSQL(sql="bank_name=:User_bank_name")
	public String getBank_name() {
		return this.bank_name;
	}
	public void setRecommend_name(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.recommend_name = value;
	}
	
     @WhereSQL(sql="recommend_name=:User_recommend_name")
	public String getRecommend_name() {
		return this.recommend_name;
	}
	public void setGender(Integer value) {
		this.gender = value;
	}
	
     @WhereSQL(sql="gender=:User_gender")
	public Integer getGender() {
		return this.gender;
	}
	public void setTeam_leader(Integer value) {
		this.team_leader = value;
	}
	
     @WhereSQL(sql="team_leader=:User_team_leader")
	public Integer getTeam_leader() {
		return this.team_leader;
	}
	public void setNative_place(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.native_place = value;
	}
	
     @WhereSQL(sql="native_place=:User_native_place")
	public String getNative_place() {
		return this.native_place;
	}
	public void setHousehold(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.household = value;
	}
	
     @WhereSQL(sql="household=:User_household")
	public String getHousehold() {
		return this.household;
	}
	public void setAddress(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.address = value;
	}
	
     @WhereSQL(sql="address=:User_address")
	public String getAddress() {
		return this.address;
	}
	public void setQQ(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.qQ = value;
	}
	
     @WhereSQL(sql="qQ=:User_qQ")
	public String getQQ() {
		return this.qQ;
	}
	public void setWechat(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.wechat = value;
	}
	
     @WhereSQL(sql="wechat=:User_wechat")
	public String getWechat() {
		return this.wechat;
	}
	public void setShort_num(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.short_num = value;
	}
	
     @WhereSQL(sql="short_num=:User_short_num")
	public String getShort_num() {
		return this.short_num;
	}
	public void setGraduate_school(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.graduate_school = value;
	}
	
     @WhereSQL(sql="graduate_school=:User_graduate_school")
	public String getGraduate_school() {
		return this.graduate_school;
	}
	public void setEducation_background(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.education_background = value;
	}
	
     @WhereSQL(sql="education_background=:User_education_background")
	public String getEducation_background() {
		return this.education_background;
	}
	public void setProfession(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.profession = value;
	}
	
     @WhereSQL(sql="profession=:User_profession")
	public String getProfession() {
		return this.profession;
	}
	public void setBefore_company(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.before_company = value;
	}
	
     @WhereSQL(sql="before_company=:User_before_company")
	public String getBefore_company() {
		return this.before_company;
	}
	public void setSpecialty(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.specialty = value;
	}
	
     @WhereSQL(sql="specialty=:User_specialty")
	public String getSpecialty() {
		return this.specialty;
	}
	public void setEmergency_contact(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.emergency_contact = value;
	}
	
     @WhereSQL(sql="emergency_contact=:User_emergency_contact")
	public String getEmergency_contact() {
		return this.emergency_contact;
	}
	public void setEmergency_relationship(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.emergency_relationship = value;
	}
	
     @WhereSQL(sql="emergency_relationship=:User_emergency_relationship")
	public String getEmergency_relationship() {
		return this.emergency_relationship;
	}
	public void setEmergency_phone(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.emergency_phone = value;
	}
	
     @WhereSQL(sql="emergency_phone=:User_emergency_phone")
	public String getEmergency_phone() {
		return this.emergency_phone;
	}
	public void setSecurity_no(String value) {
		    if(StringUtils.isNotBlank(value)){
			 value=value.trim();
			}
		this.security_no = value;
	}
	
     @WhereSQL(sql="security_no=:User_security_no")
	public String getSecurity_no() {
		return this.security_no;
	}
	public void setState(Integer value) {
		this.state = value;
	}
	
     @WhereSQL(sql="state=:User_state")
	public Integer getState() {
		return this.state;
	}
		/*
	public String getentry_dateString() {
		return DateUtils.convertDate2String(FORMAT_ENTRY_DATE, getentry_date());
	}
	public void setentry_dateString(String value) throws ParseException{
		setentry_date(DateUtils.convertString2Date(FORMAT_ENTRY_DATE,value));
	}*/
	
	public void setEntry_date(java.util.Date value) {
		this.entry_date = value;
	}
	
     @WhereSQL(sql="entry_date=:User_entry_date")
	public java.util.Date getEntry_date() {
		return this.entry_date;
	}
		/*
	public String getleave_dateString() {
		return DateUtils.convertDate2String(FORMAT_LEAVE_DATE, getleave_date());
	}
	public void setleave_dateString(String value) throws ParseException{
		setleave_date(DateUtils.convertString2Date(FORMAT_LEAVE_DATE,value));
	}*/
	
	public void setLeave_date(java.util.Date value) {
		this.leave_date = value;
	}
	
     @WhereSQL(sql="leave_date=:User_leave_date")
	public java.util.Date getLeave_date() {
		return this.leave_date;
	}
		/*
	public String getcomfirm_dateString() {
		return DateUtils.convertDate2String(FORMAT_COMFIRM_DATE, getcomfirm_date());
	}
	public void setcomfirm_dateString(String value) throws ParseException{
		setcomfirm_date(DateUtils.convertString2Date(FORMAT_COMFIRM_DATE,value));
	}*/
	
	public void setComfirm_date(java.util.Date value) {
		this.comfirm_date = value;
	}
	
     @WhereSQL(sql="comfirm_date=:User_comfirm_date")
	public java.util.Date getComfirm_date() {
		return this.comfirm_date;
	}
	
	public String toString() {
		return new StringBuffer()
			.append("create_date[").append(getCreate_date()).append("],")
			.append("update_date[").append(getUpdate_date()).append("],")
			.append("id[").append(getId()).append("],")
			.append("所属组织机构(总部或分公司)ID[").append(getOrgid()).append("],")
			.append("组织机构层级路径[").append(getOrg_path()).append("],")
			.append("所属级别编号[").append(getOrg_level()).append("],")
			.append("所属角色ID[").append(getRoleid()).append("],")
			.append("login_name[").append(getLogin_name()).append("],")
			.append("password[").append(getPassword()).append("],")
			.append("user_no[").append(getUser_no()).append("],")
			.append("name[").append(getName()).append("],")
			.append("email[").append(getEmail()).append("],")
			.append("phone[").append(getPhone()).append("],")
			.append("mobile[").append(getMobile()).append("],")
			.append("user_type[").append(getUser_type()).append("],")
			.append("photo[").append(getPhoto()).append("],")
			.append("login_ip[").append(getLogin_ip()).append("],")
			.append("login_date[").append(getLogin_date()).append("],")
			.append("login_flag[").append(getLogin_flag()).append("],")
			.append("create_by[").append(getCreate_by()).append("],")
			.append("update_by[").append(getUpdate_by()).append("],")
			.append("remarks[").append(getRemarks()).append("],")
			.append("del_flag[").append(getDel_flag()).append("],")
			.append("附件[").append(getAttach()).append("],")
			.append("身份证号[").append(getId_num()).append("],")
			.append("银行卡号[").append(getCard_no()).append("],")
			.append("开户行[").append(getBank_name()).append("],")
			.append("推荐人[").append(getRecommend_name()).append("],")
			.append("性别[").append(getGender()).append("],")
			.append("小组长[").append(getTeam_leader()).append("],")
			.append("籍贯[").append(getNative_place()).append("],")
			.append("户籍[").append(getHousehold()).append("],")
			.append("住址[").append(getAddress()).append("],")
			.append("QQ[").append(getQQ()).append("],")
			.append("微信[").append(getWechat()).append("],")
			.append("短号[").append(getShort_num()).append("],")
			.append("毕业院校[").append(getGraduate_school()).append("],")
			.append("学历[").append(getEducation_background()).append("],")
			.append("专业[").append(getProfession()).append("],")
			.append("前一单位[").append(getBefore_company()).append("],")
			.append("特长[").append(getSpecialty()).append("],")
			.append("紧急联系人[").append(getEmergency_contact()).append("],")
			.append("紧急联系人关系[").append(getEmergency_relationship()).append("],")
			.append("紧急联系人电话[").append(getEmergency_phone()).append("],")
			.append("社保号[").append(getSecurity_no()).append("],")
			.append("状态[").append(getState()).append("],")
			.append("入职日期[").append(getEntry_date()).append("],")
			.append("离职日期[").append(getLeave_date()).append("],")
			.append("转正日期[").append(getComfirm_date()).append("],")
			.toString();
	}
	
	public int hashCode() {
		return new HashCodeBuilder()
			.append(getId())
			.toHashCode();
	}
	
	public boolean equals(Object obj) {
		if(obj instanceof User == false) return false;
		if(this == obj) return true;
		User other = (User)obj;
		return new EqualsBuilder()
			.append(getId(),other.getId())
			.isEquals();
	}
}

	
